When transmitting a data stream, formed from data stream units, between two nodes the data stream can be transmitted by way of a plurality of transport packets. Redundant correction data can be included in the transport packets in order for the destination node to correct for errors in the transmission of the transport packets. For example, Forward Error Correction (FEC) data can be included with the data units in the transport packets. FEC data is redundant data that allows data units in lost transport packets to be recovered to some extent. FEC data may be transmitted in separate transport packets that are interleaved into the data stream or added to the payload of transport packets containing the data units themselves. Media independent FEC works by adding redundancy to the bits of two or more payloads. One example of this is simply performing an exclusive OR (XOR) operation on multiple data units in the data stream to create the redundant information. If any of the payloads are lost in the transmission to the destination node, then the XORed information (i.e. the FEC data) together with the payloads of other transport packets (i.e. transport packets which are not lost) can be used at the destination node to recreate the lost payload.
The extent of data transfer over public networks such as the internet is rapidly increasing. Error correction mechanisms are therefore becoming more important to ensure reliable data transmission. The present invention seeks to improve the error correction for a data transmission between a transmitting node and a destination node.